home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / System Software (16-bit) / Disk Images / Release.Notes (for 5.0.4) < prev    next >
Encoding:
Text File  |  1990-12-11  |  36.6 KB  |  949 lines  |  [TEXT/MACA]

  1.                             Apple IIGS
  2.                           System Software
  3.                            Release Notes
  4.                            Version 5.0.4
  5.                        December 10th, 1990
  6.  
  7.  
  8. These release notes list the changes made from version 5.0.2 to 5.0.4 of the
  9. Apple IIGS System Software.  Most of these changes were made for version
  10. 5.0.3; changes made from version 5.0.3 to version 5.0.4 are noted with 5.0.4
  11. in the margin. 
  12.  
  13. Miscellaneous Changes:
  14.  
  15. The font Times.12 is now also deleted when you run the SCSI Hard Disk
  16. script.  Times.12 is now on System.Tools disk as well as the System.Disk.  Any
  17. script that copies the file Times.12 has been modified to copy it from
  18. /System.Tools/System/Fonts/ instead of /System.Disk/System/Fonts/.
  19.  
  20. The ACE (Tool029) toolset has been moved from System.Disk to System.Tools. A
  21. new script has been added to install ACE.  Several other scripts have also
  22. been changed to reflect this change in organization.
  23.  
  24. The installer script SCSI Hard Disk has been modified slightly.  This script
  25. now deletes the font Shaston.16 in additon to the Tutorials folder. 
  26. Shaston.16 is now on the System.Tools disk as well as the System.Disk.  Any
  27. script that copies the file Shaston.16 has been modified to copy it from
  28. /System.Tools/System/Fonts/ instead of /System.Disk/System/Fonts/.
  29.  
  30. ToolBox Changes:
  31.  
  32. ToolSets
  33.  
  34. Window Manager v3.2          Tool014
  35.  
  36. Defined new bit in TaskMaster (tmNoGetNextEvent, bit 21).  When this bit is 
  37. set, TaskMaster does not call GetNextEvent.  Instead, it uses the data in the 
  38. Event Record portion of the Task Record you pass. 
  39.  
  40. Menu Manager v3.2            Tool015
  41.  
  42. Fixed a bug in DeleteMenu.  The handle to the menu that was being removed
  43. was not getting unlocked.
  44.  
  45. Fixed bug in NewMenuBar2.  When the call was made using resources, the
  46. rMenuBar resource was not getting released properly when done.  If the high
  47. word of the resource ID passed was zero, then the resource was just not
  48. released.  Having a nonzero high word used to cause a fatal error.
  49.  
  50. Control Manager v3.2         Tool016
  51.  
  52. Fixed bug in Static Text controls.  The justification field now works. 
  53.  
  54. Fixed a bug in NewControl2 where the owner port was not being set before the 
  55. definition procedure was being called.  This caused a problem in size
  56. calculation.  With this fix, it is now safe to use NewWindow2 with attached
  57. controls. 
  58.  
  59. QuickDraw Auxiliary v3.3     Tool018   (5.0.4)
  60.  
  61. Fixed bug in ClosePicture.  If an error occurred in picture accumulation, 
  62. ClosePicture could trash the first word of a random region (usually the clip
  63. region of the last window drawn to).
  64.  
  65. 5.0.4:  CopyPixels segment is now static instead of dynamic.
  66.  
  67. 5.0.4:  The top scan line on CalcMask is now handled properly.  Two variables
  68. had been initialized improperly.
  69.  
  70. 5.0.4:  Rounding the pixel map buffer size to an even number of bytes in
  71. SeedFill and CalcMask now works if the low word of the size was $FFFF.
  72.  
  73. 5.0.4:  SeedFill and CalcMask no longer return a bogus error code in 640 pure
  74. mode.
  75.  
  76. 5.0.4:  Fixed a stack imbalance deep inside picture pixel map routines under
  77. low memory conditions.
  78.  
  79. LineEdit v3.2                Tool020
  80.  
  81. Fix bug in LEFromScrap.  Two bytes of memory were getting trashed when 
  82. LEFromScrap was made and there was an empty text scrap.  The word that got
  83. trashed was $FFFE from where the Line Edit scrap is located. 
  84.  
  85. Dialog Manager v3.3          Tool021
  86.  
  87. Fix bug in ModalDialog.  ModalDialog was stealing all events from the event 
  88. queue-instead it should have been leaving application events alone. This was
  89. only fixed for ROM 01 machines.  For ROM 3 ModalDialog can still steal
  90. application events.
  91.  
  92. Standard File v3.2           Tool023
  93.  
  94. When in the Volumes list for "Get" dialogs you can now select a member in the
  95. list by using keystrokes.
  96.  
  97. Fixed some spacing problems with "Get" dialogs in 320 mode.
  98.  
  99. The wrong dialog item was being zeroed in the previous fix.  Symptoms were
  100. if you called SFPMultiGet2 the second time you brought up this dialog, button
  101. item 5 would be blank.  This has been fixed.
  102.  
  103. Fixed a problem with using custom Standard File dialogs.  Standard File
  104. physically patches certain items in the application's dialog template.  For
  105. the Path item (item 6 in GET, item 7 in PUT) Standard File patches in an
  106. address to a routine that draws the path.  Since this address points to a
  107. routine within Standard File, if someone unloaded the toolset and loaded it
  108. again, it is very probable that the toolset could load at a different memory
  109. location which would make this patched address invalid.  Standard File only
  110. patches this item if the refdescriptor field is zero.  The next time this
  111. dialog template is used, this field is now non-zero and therefore not patched
  112. again by Standard File.  The bug is fixed by making sure that before the
  113. dialog is closed this field is zeroed out (if it was zero to begin with).
  114.  
  115. If an unformatted disk is inserted while a standard file dialog is up, it is
  116. no longer just ignored.  An error message is now displayed and the disk is
  117. ejected after the user selects OK.
  118.  
  119. If prefix 8 or 0 (depending on old or new call) was set to a valid filename
  120. and not a directory name, all standard file calls would fail.  This has been
  121. fixed. 
  122.  
  123. Whenever you initially brought up a standard file dialog the cursor would
  124. flicker back and forth from a watch cursor to an arrow cursor.  This has been
  125. fixed. 
  126.  
  127. Hitting the <return> key in "Put" dialogs when the default button is inactive
  128. could cause problems because the <return> key is then passed onto the active
  129. edit line item.  The <return> would erase any selected text in the edit line. 
  130. This has been fixed.
  131.  
  132. Fixed bug where multiple volumes could be selected in "Multi" dialogs.  You
  133. can now only select one volume at a time when in the "volumes" list.  
  134.  
  135. If a volume was larger than 16MB the string that shows how much room was left
  136. on the volume currently being displayed was wrong.  This has been fixed.
  137.  
  138. When the promptRef passed is a resource and the resource cannot be found,
  139. Standard File would crash.  This has been fixed.  Standard File now returns
  140. with carry set and returns the error received from LoadResource call.  
  141.  
  142. Fixed bug in SFMultiGet2.  No matter how many files were selected, the call
  143. would always return 1 as the number of files selected.  
  144.  
  145. Folders on AppleShare volumes that you do not have enough access privileges
  146. to are now displayed grayed out. 
  147.  
  148. When a disk is inserted that GS/OS cannot recognize an alert is put up and the
  149. disk is ejected when the user selects OK.  
  150.  
  151. In the "Put" dialogs, selecting New Folder now drops you into the folder
  152. that was just created. 
  153.  
  154. Hitting the <TAB> key no longer hilites the "Volumes" button. 
  155.  
  156. For the new "Put" calls (SFPutFile2, SFPPutFile2), fixed bug where trying to 
  157. reference the origNameRef as a resource with the middle word of the resource
  158. ID equal to zero would not work. 
  159.  
  160. Disk switch events are now being monitored.  A disk insert event now causes
  161. that disk's list of files to be displayed in the file list.  A disk eject, if
  162. it is the currently displayed volume will cause the next volume's list of
  163. files to be displayed in the file list.
  164.  
  165. The "Disk" button no longer advances to the next volume, instead selecting
  166. this button now displays the list of all volumes currently on-line (this is
  167. now titled the "Volumes" button).
  168.  
  169. Selecting the pathname field or the "Close" button when the volume currently
  170. being displayed is at the root level also has the same response as selecting
  171. the "Volumes" button.
  172.  
  173. You would encounter several problems if you tried to bring up a standard file
  174. dialog and there were no volumes on-line or if you ejected all the volumes
  175. while a dialog was already open.
  176.  
  177. The default edit line name in "Put" dialogs is now highlighted.
  178.  
  179. Fixed bug where system crashed after entering too many characters. The maximum
  180. number of characters that can be entered in any edit line field is limited to
  181. 32. 
  182.  
  183. Fixed bug where in 320 mode when a disk was locked the lock icon would not
  184. appear in the pathname field of the dialog.
  185.  
  186. Fixed bug in SFRescan. The call would not work in 320 mode.
  187.  
  188. Fixed bug in all the "Put" calls.  When an illegal filename was entered by
  189. the user they were never notified that it was bad.  Instead Standard File
  190. would just skip to the next volume.
  191.  
  192. Font Manager v3.2            Tool027
  193.  
  194. If one of the buffers the Font Manager gets during FMStartup crosses a bank
  195. boundary in the right way FMStartup could return a bogus error.  This has been
  196. fixed.
  197.  
  198. Fixed bug in FMStartUp where a partially created FONT.LISTS file would be left
  199. around if it could not be created successfully.  This could cause the system
  200. to crash.  Now if anything goes wrong when creating the FONT.LISTS file it
  201. will be deleted.  
  202.  
  203. Fix bug in ChooseFont and InstallWithStats.  Occasionally when a font had to 
  204. be created ChooseFont and InstallWithStats would not be able to create the 
  205. font because it encountered a memory error even though there was enough
  206. memory to create the font.  This fix just makes this whole process of having
  207. to create a font more robust.  
  208.  
  209. The watch cursor is now put up when ChooseFont has to call InstallFont.   
  210.  
  211. List Manager v3.2            Tool028
  212.  
  213. Fixed bug in NewList2.  Problems would arise when NewList2 was called and the
  214. list grew. 
  215.  
  216. ACE v1.2                     Tool029
  217.  
  218. Re-written to improve performance.
  219.  
  220. Resource Manager v1.1        Tool030
  221.  
  222. Fixed bug where the resource map was getting corrupted (this would cause the
  223. file's resources to get trashed).  Whenever the resource manager had to join
  224. two free blocks (in its own free block list) the resulting block was not
  225. correctly sized.
  226.  
  227. Fix a bug relating to restarting the OS.  While the resource manager was
  228. working fine, it no longer had Sys.Resources in its search path (that is,
  229. running a P8 application from the Finder and then returning to GS/OS would
  230. cause problems such as Standard File being unable to display a Replace/Cancel
  231. dialog).
  232.  
  233. TextEdit v1.2                Tool034
  234.  
  235. Fixed a bug where, in certain instances, super blocks were not ending in a
  236. carriage return.
  237.  
  238. Fixed a problem in TEGetSelectionStyle where the common style flags did not 
  239. properly reflect the common styles that were in use.
  240.  
  241. Fixed super block trashing bug where a deletion would cause a super block to
  242. end without a carrige return.
  243.  
  244. Fixed LETextBox2 output.  Note: This output is still not a supported option
  245. in TextEdit.  However, it should work for small blocks of text with
  246. reasonable numbers of styles.
  247.  
  248. Fixed a bug in the Idle routine that would corrupt the superblock list if
  249. the fixblocklist routine was called to join 2 small blocks.
  250.  
  251. Fixed a bug in TESetText which corrupted the text edit record if the length
  252. of the incoming text was 0.
  253.  
  254. Fixed a bug in the TEGetText routine that would trash the contents of memory
  255. if you tried to retrieve too much text into a Pascal string.
  256.  
  257. When an invisible TextEdit control is created the scroll bar is still
  258. visible.  This has been fixed.
  259.  
  260. Fixed control so that the selection is not outlined when a control is made
  261. invisible. 
  262.  
  263. Fixed deletion bug which trashed the block list if large blocks were deleted
  264. from a record.
  265.  
  266. Fixed the Text Edit control definition procedure so that initial style is
  267. properly set up when you use less than 13 as your pcount.  This was causing
  268. some hangs and out of memory indications at NewControl2 time.  This could also
  269. cause bad style lists and improper handling of style changes.
  270.  
  271. TS2      (patch for ROM 01)
  272.  
  273. This patch file has been segmented so that the initialization code can be
  274. disposed of when the patch has been loaded.  This will mean that QDBootInit
  275. cannot be called again (but that was the case anyway).
  276.  
  277. Memory Manager v3.1
  278.  
  279. Fix bug in DisposeHandle. Put in check to make sure that the handle being
  280. disposed was a valid handle. 
  281.  
  282. QuickDraw II v3.5
  283.  
  284. SetGrafProcs no longer increments the BUSY flag too many times.
  285.  
  286. Added bit to QDStartup MasterSCB flags that says to not load/use FastFont.
  287. The noFastFont bit has value $1000 in the MasterSCB word.
  288.  
  289. Fixed bug in all region op calls that would leave region handles locked
  290. after certain operations.
  291.  
  292. Fix bug in QDShutDown.  Shadowed memory was not being released properly when 
  293. shadowing was turned on. 
  294.  
  295. Fix bug in RectInRgn.  The high word of a variable being used was not being
  296. zeroed out correctly.
  297.  
  298. Desk Manager v3.3
  299.  
  300. Fixed bug in RemoveNDA.  The call was not properly removing the NDA from the
  301. NDA list. If you tried removing NDAs in the same order you installed them and
  302. then tried quitting the application, you would die a horrible death.
  303.  
  304. Sound v3.3
  305.  
  306. Fixed bug in FFStartSound.
  307.  
  308. Fixed FFStartPlaying to no longer garble sound when SampleSize is less than
  309. or equal to 2*BufferSize.
  310.  
  311. Fixed FFSoundDoneStatus to operate correctly when SampleSize is less than or 
  312. equal to 2*BufferSize.
  313.  
  314. Miscellaneous Tools v3.1
  315.  
  316. Added new call, ConvSeconds ($3703).  See the attached pages at the end of
  317. these release notes for documentation for ConvSeconds.
  318.  
  319. Added address $00FF to the GetAddr function. This address is the location of
  320. the serial port buffer pointers.  (These data structures are not currently
  321. documented, so don't use them.)
  322.  
  323. TS3           (patch for ROM 03)
  324.  
  325. This patch file has been segmented so that the initialization code can be
  326. disposed of when the patch has been loaded.  This will mean that QDBootInit
  327. cannot be called again (but that was the case anyway).
  328.  
  329. Tool.Setup    (this is the init that loads the patch files)
  330.  
  331. Fix bug in GetNewID that only occurs on ROM 03 machines.  The first ID
  332. reserved was always lost.  Since GetNewID is called before the patch can be
  333. loaded but not before the init is run, we make the fix here.
  334.  
  335. Memory Manager v3.1
  336.  
  337. Fix bug in DisposeHandle.  Put in check to make sure that the handle being
  338. disposed was a valid handle. 
  339.  
  340. QuickDraw II v3.6  (5.0.4)
  341.  
  342. Added bit to QDStartup MasterSCB flags that says to not load and use
  343. FastFont. The noFastFont bit has value $1000 in the MasterSCB word.
  344.  
  345. Fixed bug in all region operation calls that would leave region handles
  346. locked after certain operations.
  347.  
  348. Fixed bug in seekRgn.  It would crash/hang/generate garbage when seeking a
  349. non- rectangular region up instead of down. This should fix many problems with
  350. ScrollRect and the bit transfer routines.
  351.  
  352. Fixed backwards slices for all pixel transfer operations (they would usually
  353. crash).
  354.  
  355. 5.0.4:  Fixed QDStartUp to make sure the cursor image handle is safe.  This
  356. patch is identical to one that's been in TS2 or Tool.Setup since May 1987.
  357.  
  358. Desk Manager v3.3
  359.  
  360. Fixed a bug in RemoveNDA. The call was not properly removing the NDA from
  361. the NDA list.  If you tried removing NDAs in the same order you installed them
  362. and then tried quitting the application, you would die a horrible death.  
  363.  
  364. Sound v3.3
  365.  
  366. See changes in TS2 patch for Sound Tools.
  367.  
  368. Miscellaneous Tools v3.1
  369.  
  370. See changes in TS2 patch for Miscellaneous Tools.
  371.  
  372. Window Manager v3.2
  373.  
  374. See changes for Window Manager toolset.
  375.  
  376. Menu Manager v3.2
  377.  
  378. See changes for Menu Manager toolset.
  379.  
  380. Control Manager v3.2
  381.  
  382. See changes for Control Manager toolset.
  383.  
  384. LineEdit v3.2
  385.  
  386. See changes for Line Edit toolset.
  387.  
  388. Font Manager v3.2
  389.  
  390. Patch to FMStartup.  See changes for Font Manager toolset.
  391.  
  392. Fixed bug in ChooseFont.  There was a bug fix in the call InstallFont that
  393. was patched for 5.0 that never got incorporated into ChooseFont, which calls 
  394. InstallFont.
  395.  
  396. List Manager v3.2
  397.  
  398. See changes for List Manager toolset.
  399.  
  400. Printer Drivers
  401.  
  402. Imagewriter LQ     v4.1 (5.0.4)
  403.  
  404. Version 4.0 is all new for System Disk 5.0.3.  All new features are
  405. described in a separate document not included with these release notes.
  406.  
  407. 5.0.4:  Worked around a strange behavior of PAP by calling PrDevStatus a second
  408. time if any tool errors occur the first time.
  409.  
  410. 5.0.4:  Modified the end of PrCloseDoc to insure that all spooling resources
  411. are released if there is a print loop error.
  412.  
  413. 5.0.4:  Spooling now occurs to the user folder if you booted over AppleShare.
  414.  
  415. 5.0.4:  Changed spacing around the "/" in the top line of the dialog boxes.
  416.  
  417. 5.0.4:  More robust and correct error checking implemented.
  418.  
  419.  
  420. Imagewriter   v4.1      (5.0.4)
  421.  
  422. Version 4.0 is all new for System Disk 5.0.3.  All new features are
  423. described in a separate document not included with these release notes.
  424.  
  425. 5.0.4:  Worked around a strange behavior of PAP by calling PrDevStatus a second
  426. time if any tool errors occur the first time.
  427.  
  428. 5.0.4:  Modified the end of PrCloseDoc to insure that all spooling resources
  429. are released if there is a print loop error.
  430.  
  431. 5.0.4:  Spooling now occurs to the user folder if you booted over AppleShare.
  432.  
  433. 5.0.4:  Changed spacing around the "/" in the top line of the dialog boxes.
  434.  
  435. 5.0.4:  More robust and correct error checking implemented.
  436.  
  437. 5.0.4:  Both the Open and PicFile routines now call the idle procedure at the
  438. beginning and exit if the error status is set.  This makes the driver work
  439. better with those programs that patch out the Event Manager (like HyperCard
  440. IIGS...)
  441.  
  442. Fixed bug that caused vertical repeating.  Fixed by forcing band buffer to
  443. clear each time.
  444.  
  445. Hitting command-period right after Job Dialog OK would cause crashing due to
  446. calling PrDevClose w/o PrDevOpen.  Fixed.
  447.  
  448. Change-color-table PicComment implemented.
  449.  
  450. LaserWriter   v3.0.1
  451.  
  452. Fixed bug that sometimes caused font lists from the LaserWriter to appear in
  453. the status dialog.  The driver was skipping some bytes in a PrAsyncDevRead
  454. (PAP read) call.
  455.  
  456. Changed "pop=flush" to "pop = flush" in the prep file (internal) to prevent
  457. a PostScript error when running out of VM in the printer.
  458.  
  459. Corrected other small bugs relating to PostScript and typographical errors.
  460.  
  461. Modem v2.1
  462.  
  463. Timeout on the PrDevRead call changed.  If the currently-installed printer
  464. driver is less than v4.0, then the timeout delay on the read call is
  465. unaffected; otherwise, it is about 2 seconds (the old delay remains at about
  466. 45 seconds).
  467.  
  468. Added direct-to-SCC-chip write for true 19.2Kbaud.
  469.  
  470. Added a zap ("Ignore all subsequent ^I commands") command to DevOpen, so
  471. that Ctrl-Is ($09 or $89) in the data stream won't be interpreted and 
  472. filtered out by the firmware.  Removed similar zap code from DevRead.
  473.  
  474. Modified the stack offset for DevAsyncRead to not include direct page and bank
  475. address since the call never switches direct page. 
  476.  
  477. Printer v2.1
  478.  
  479. Timeout on the PrDevRead call changed.  If the currently installed printer
  480. driver is less than v4.0, then the timeout delay on the read call is
  481. unaffected; otherwise, it is about 2 seconds (the old delay remains at about
  482. 45 seconds).
  483.  
  484. Added direct-to-SCC-chip write for true 19.2Kbaud.
  485.  
  486. Added a zap ("Ignore all subsequent ^I commands") command to DevOpen, so
  487. that Ctrl-Is ($09 or $89) in the data stream won't be interpreted and filtered
  488. out by the firmware.  Removed similar zap code from DevRead.
  489.  
  490. Modified the stack offset for DevAsyncRead to not include direct page and bank
  491. address since the call never switches direct page.
  492.  
  493. GS/OS Changes:
  494.  
  495. GS/OS (composed of the files GS.OS, GS.OS.Dev, and Start.GS.OS):
  496.  
  497. SCM (System Call Manager)
  498.  
  499. Removed code that checks for  more than 65535 unclaimed interrupts and calls
  500. the subroutine that displays the dialog box. There seems to be a problem with
  501. the 6551 chip used in several internal modems that cause spurious interrupts
  502. to be generated.  This caused GS/OS to generate the unclaimed interrupt error
  503. dialog which caused problems for those who were doing remote downloads since
  504. the dialog required a response from the user.
  505.  
  506. Fixed bugs in make_seg, deallocate, and lock/unlock_mem which were using 
  507. 16-bit addressing when the data bank register was not set correctly, so SCM
  508. was stomping on memory and not unlocking some handles.
  509.  
  510. Incorporated a bug fix where SCM was erroneously reporting 65536 unclaimed
  511. interrupts. 
  512.  
  513. Fixed a bug in the notification queue where the event code was being lost if
  514. a Notify Proc generated another event.
  515.  
  516. System Error Messages
  517.  
  518. Changed text of unclaimed interrupt error message to send the user to their
  519. Apple dealer, instead of a fatal message.
  520.  
  521. ExpressLoad
  522.  
  523. Unloading a dynamic segment by address was not working reliably.  When the
  524. address of a procedure within a dynamic segment was passed which hadn't been
  525. used yet, ExpressLoad looked at its jump table segment and assumed that, since
  526. the referenced entry hadn't been patched yet, it couldn't have been loaded
  527. yet.   This has been corrected by having ExpressLoad always attempt to mark
  528. the dynamic segment as purgeable, whether it is in memory or not.  Since it
  529. ignores a "Segment Not Found" error returned by at attempt to mark the dynamic
  530. segment as purgeable, this shouldn't cause any problems.
  531.  
  532. GQuit
  533.  
  534. GQuit's ProDOS 8 loading routines changed due to the new size and version of
  535. ProDOS 8 v1.9.
  536.  
  537. Changed allocation of 64K buffer used to read the OS files from disk.
  538. Previously, it was allocated as locked, non-fixed, in no particular place in
  539. memory.  This caused the Memory Manager to allocate the block high in memory.
  540. During the boot process, other handles are allocated as locked and never go
  541. away, effectively creating a very large free area high in memory (when this
  542. buffer is deallocated, that is) that can't be combined with the main portion
  543. of free memory (producing fragmentation). 
  544.  
  545. Calls to the Memory Manager CompactMem routine have been added prior to:
  546.     a) Initializing SCM
  547.     b) Initializing the Device Dispatcher
  548.     c) Processing Tool.Setup
  549.     d) Loading Desk Accessories
  550.     e) Performing the Quit call to load and execute the "Start" program
  551.  
  552. This should further reduce memory fragmentation that was occurring during
  553. booting.
  554.  
  555. GQuit now masks off any irrelevant bits of the quit flags prior to sending
  556. the quit word to the UserShutdown function of the Loader.
  557.  
  558. Device Manager
  559.  
  560. D_Info call now respects the size of the supplied result buffer for the
  561. device name.
  562.  
  563. Console.Driver
  564.  
  565. The User Input Read routine was not updating the GS/OS direct page 
  566. transfer_count field during the call.  During investigation, it was noticed
  567. that the raw read routine had the same problem.  Both routines have been
  568. fixed. 
  569.  
  570. SCSI.Manager            (5.0.4)
  571.  
  572. 5.0.4:  Known bug:  The SCSI Manager asks peripherals to return 256 bytes of
  573. status into an 8-byte buffer in the middle of the code.  Most hard disks only
  574. return 8 bytes, but some peripherals return more, overwriting some Manager
  575. code and crashing during boot.  This is not fixed in 5.0.4.
  576.  
  577. 5.0.4:  Changed the startup routines to not reset the SCSI bus, to prevent some
  578. peripherals from entering power-on diagnostics in the middle of the boot
  579. process (and also to keep the Rev. C SCSI Card from changing CD-ROMs back to
  580. 2K/block mode).  The Manager version is now 5.4.
  581.  
  582. Fixed Startup Call.  If no hardware is found on startup, the bound IRQs will
  583. be Unbound now so that they are not left hanging.
  584.  
  585. Designed to support both the old and the new SCSI cards.  Modified to add
  586. support for the 1 meg transfer rate required by the new card.  Also a number
  587. of format changes have taken place in the Manager that makes this a new
  588. environment.
  589.  
  590. SCSICD.Driver
  591.  
  592. Bug fixes.
  593.  
  594. SCSIHD.Driver
  595.  
  596. Added support for Extended Read and Write in the default command bitmap.
  597.  
  598. Bug fixes.
  599.  
  600. UniDisk 3.5 Driver
  601.  
  602. While being warm-started (after a switch to GS/OS from P8), the parameter
  603. list used to download the disk-switched code to the drive was not being set up
  604. properly, resulting in the UniDisk failing to recognize disk-switched
  605. occurrences.  This has been corrected.  (Disk switches were still noticed if
  606. the driver was called while there was no disk online, so the problem was not
  607. obvious in applications like the Finder, which continually poll drives.)
  608.  
  609. ATalk
  610.  
  611. Changed the device characteristics of .RPM so that it no longer allows read
  612. access.  DRead will no longer hang when issued to .RPM.
  613.  
  614. Fixed a bug in the .RPM driver where it closed RPM without flushing unwritten
  615. data.  Now calls PMFlushSession before closing .RPM.
  616.  
  617. ATP2.ATRAM
  618.  
  619. You no longer lose connections with servers when you change your machine's
  620. clock setting.  The ToWriteTime routine is intercepted to keep AppleTalk aware
  621. of the current real time.  (When you changed your clock, AppleTalk thought
  622. that a lot of real time had elapsed-often many hours-and caused all of its
  623. timers to expire, including the server session timers.)
  624.  
  625. Fixed a bug in the FIAccess call where it assumed it was passed a complete
  626. pathname and returned an error $0A09 (volume not mounted) when a partial path
  627. was used.
  628.  
  629. Added a new call (PMFlushSession, $48) to RPM to allow explicit flushing of 
  630. unwritten data.  This call causes the flush timer to complete immediately,
  631. causing buffered data to be written.  The parameters are the same as those to
  632. PMCloseSession.
  633.  
  634. HS.FST (High Sierra FST)
  635.  
  636. Fixed the problem where the disk switched was being returned by the Volume 
  637. call when High Sierra comes in before ProDOS in the FST calling loop (for
  638. example, when booting over AppleShare).  It is important that the retry not
  639. happen in general, otherwise the FST will blindly read from the wrong disk if
  640. you swap disks.
  641.  
  642. ProDOS.FST
  643.  
  644. Fixed several problems related to the SetEOF fix implemented in earlier
  645. versions of System Disk 5.0.3.  These could cause an error $2C (invalid device
  646. request count) to be returned by the FST if certain pairs of calls were
  647. executed in succession.  Another problem would cause blocks to not get
  648. deallocated when cutting back a file's EOF across 64K boundaries.
  649.  
  650. Fixed a bug where cutting back the EOF of a file with more than $8000 blocks
  651. allocated to it (counting index blocks) would never change the block count in
  652. the file's directory entry (that is, it would be "stuck" above $8000 for all
  653. time).
  654.  
  655. Added support for the FLUSH_TYPE parameter for the Flush call.  The Flush call
  656. now supports two types of flush:  a "full" flush, which flushes a file's dirty
  657. data blocks and dirty directory blocks, and a "fast" flush which flushes dirty
  658. data blocks only.  Note that Flush previously performed the "full" flush.  The
  659. type of flush is specified in the parameter block by the caller.  A fast flush
  660. is specified by specifying a FLUSH_TYPE of $8000.
  661.  
  662. Fixed bug where SetFileInfo was not handling zeroed fields of the mod_date
  663. and create_date parameters correctly.  If the entire parameter is zeroed, it's
  664. supposed to either use the current date (if its the mod_date parm) or leave it
  665. alone (if its the create_date).  If only a portion of the field is zero,
  666. though, it should use the zero as the value to place in the directory entry. 
  667. This is now the case.
  668.  
  669. Fixed bug where SetEOF would trash a file when a call was made to move the
  670. EOF back or the same on a file which has a sparse area at the end (i.e.,
  671. sparsed-out blocks at the end of the block list) and the new EOF is still
  672. within the sparsed range.  SetEOF now always views a change in the EOF as
  673. being relative to the position of the last physically allocated block in
  674. the file.
  675.  
  676. Fixed a bug where a system crash was possible if a sequence of FST calls
  677. caused disk blocks to be freed and then re-allocated on the same volume.
  678.  
  679. Fixed a bug in SetEOF.  Under certain conditions, if the new EOF was not an
  680. even multiple of $200 file data could be corrupted. 
  681.  
  682. When the FST accesses a volume and then a new volume gets swapped into that
  683. same device, the FST now allows access to the new volume in that device when
  684. the device name is specified in the call.  Previously, the FST would display a
  685. dialog box asking the user to insert the volume that was seen in that device
  686. before the swap.
  687.  
  688. AppleShare FST          (5.0.4)
  689.  
  690. 5.0.4:  Fixed the routines that shield and unshield the cursor while drawing
  691. the arrows in the menu bar during server access.  These routines now save and
  692. restore the direct page locations documented in the January 1991 revision to
  693. Apple IIGS Technical Note #34, Low-Level QuickDraw II Routines.
  694.  
  695. Fixed bug when switching between users with diskless booting.  The system
  696. disk not recognize that the boot volume had been renamed. 
  697.  
  698. ProDOS 8           Version 1.9:
  699.  
  700. Known Bugs:
  701.  
  702. ProDOS 8 doesn't handle seedling sparse files correctly.
  703.  
  704. SET_PREFIX "/" followed by a SET_PREFIX with a volume name without a slash
  705. sets the prefix to the first letter of the volume name.
  706.  
  707. Changes:
  708.  
  709. P8 had problems displaying the "program too large" message.  This has been
  710. fixed.
  711.  
  712. P8 could not load large system programs.  When checking the size of the
  713. .SYSTEM program to be loaded at boot time, the code was comparing the second
  714. byte of the file's EOF to a constant $98.  This limited the size of the
  715. program to 38K, when it could actually be 39.75K without interfering with
  716. ProDOS.  The constant value has been changed to $9F. 
  717.  
  718. A second version of the Quit call handler has been added to the operating
  719. system.  The new Quit code lets the user select the next application
  720. interactively instead of remebering and typing its pathname.
  721.  
  722. The new quit code is only used on an 80-column Apple IIe or later when
  723. ProDOS 8 is booted directly (not when you have booted GS/OS).  The original
  724. version of the quit code is automatically used on machines that don't have the
  725. necessary hardware to support the new code.
  726.  
  727. BASIC.System       v1.4.1
  728.  
  729. Fixed a problem where the high byte of the ,B parameter was not being zeroed,
  730. causing BSAVE to create files with excessively large EOFs.
  731.  
  732. CDev Changes:
  733.  
  734. ATalk ImageWriter Printer CDev
  735.  
  736. Fixed the bug with network booting as a guest.  The CDev was trying to build
  737. a path to the user's ATINIT file.  But the guest's user name is returned as
  738. the empty string (creating an invalid pathname).  It now uses "<Any User>"
  739. instead of the empty string.
  740.  
  741. Fixed text justification problems with static text controls (especially the
  742. titles above lists and line edits). 
  743.  
  744. Fixed problem with CDev not showing more than 3 ImageWriters on the net.  It
  745. was incorrectly calling NewList2 with listStart=0 when no printer had been
  746. selected, and no printer matched the name in the Printer.Setup file.  It now
  747. uses $FFFF for listStart (to keep the first item displayed the same as
  748. before).
  749.  
  750. Fixed problem with crashing under low memory situations.  It was possible
  751. for the CDev to get loaded in bank 0 which was causing the problem.
  752.  
  753. ATalk ImageWriter LQ Printer CDev
  754.  
  755. Fixed the bug with network booting as a guest.  The CDev was trying to build
  756. a path to the user's ATINIT file.  But the guest's user name is returned as
  757. the empty string (creating an invalid pathname).  It now uses "<Any User>"
  758. instead of the empty string.
  759.  
  760. Fixed text justification problems with static text controls (especially the
  761. titles above lists and line edits). 
  762.  
  763. Fixed problem with CDev not showing more than 3 ImageWriters on the net.  It
  764. was incorrectly calling NewList2 with listStart=0 when no printer had been
  765. selected, and no printer matched the name in the Printer.Setup file.  It now
  766. uses $FFFF for listStart (to keep the first item displayed the same as
  767. before).
  768.  
  769. Fixed problem with crashing under low memory situations.  It was possible
  770. for the CDev to get loaded in bank 0 which was causing the problem.
  771.  
  772. ATalk LaserWriter Printer CDev
  773.  
  774. Fixed the bug with network booting as a guest.  The CDev was trying to build
  775. a path to the user's ATINIT file.  But the guest's user name is returned as
  776. the empty string (creating an invalid pathname).  It now uses "<Any User>"
  777. instead of the empty string.
  778.  
  779. Fixed text justification problems with static text controls (especially the
  780. titles above lists and line edits). 
  781.  
  782. Fixed problem with crashing under low memory situations.  It was possible
  783. for the CDev to get loaded in bank 0 which was causing the problem.
  784.  
  785.  
  786. Desk Accessories:
  787.  
  788. VideoMix.NDA v1.3
  789.  
  790. Fixed bug where hitting the <ESC> key when VideoMix NDA is up and no card is
  791. installed would crash the system.
  792.  
  793.  
  794. A.U.G. Changes:
  795. (Applications and Utilities Group)
  796.  
  797. Installer v1.2 
  798.  
  799. If the last FileSpec in a script required no action to be taken the Installer
  800. would get confused and think there were more fields in the script. This has
  801. been fixed.
  802.  
  803. Fixed bug where the Installer was incorrectly parsing the file spec field
  804. separator character "~" in the scripts.  
  805.  
  806.  
  807. Installer Scripts:
  808.  
  809. SCSI Hard Disk:
  810. This script now also deletes Times.12 to make room for the drivers.
  811.  
  812. This script now deletes Shaston.16 to make room for the drivers.
  813.  
  814. ACE Toolset:
  815. This is a new script for 5.0.3 that copies the ACE toolset.
  816.  
  817. Additional Fonts:
  818. Times.12 is now copied from the System.Tools. disk.
  819.  
  820. Changed to reflect the moving of Shaston.16 to System.Tools disk.
  821.  
  822. AppleShare on 3.5 Disk:
  823. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
  824. disk.
  825.  
  826. Latest Sys. Files (No Finder):
  827. Times.12 is now copied from the System.Tools. disk.
  828.  
  829. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
  830. disk.
  831.  
  832. Latest System Files:
  833. Times.12 is now copied from the System.Tools. disk.
  834.  
  835. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
  836. disk.
  837.  
  838. Local Network Startup:
  839. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
  840. disk.
  841.  
  842. Server Network Startup:
  843. Times.12 is now copied from the System.Tools. disk.
  844.  
  845. Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
  846. disk.
  847.  
  848. ------------------------------------------------------------------------------
  849.  
  850. ConvSeconds   $3703
  851.  
  852. Allows conversion to and from a long integer containing the number of seconds
  853. Since January 1, 1904-the format used by the Macintosh operating system.
  854. ConvSeconds is provided to allow easier handling of dates in applications
  855. that work with several different date formats.
  856.  
  857. Parameters
  858.  
  859. Stack before call
  860.  
  861. Previous contents
  862.  
  863. |                 |
  864. |      Space      |   Long-Space for result
  865. |                 |
  866. |-----------------|
  867. |    convVerb     |   Word-Direction and type of conversion
  868. |-----------------|
  869. |                 |
  870. |     seconds     |   Long-Number of seconds since January 1, 1904
  871. |                 |
  872. |-----------------|
  873. |                 |
  874. |     datePtr     |   Long-Pointer to buffer for converted date
  875. |                 |
  876. |-----------------|
  877.                    <-SP
  878.  
  879. Stack after call
  880.  
  881. Previous contents
  882.  
  883. |                 |
  884. |   secondsOut    |   Long-resulting number of seconds
  885. |                 |
  886. |-----------------|
  887.                    <-SP
  888.  
  889. Errors        $0390     badTimeVerb    Invalid convVerb value
  890.               $0391     badTimeData    Invalid date or time to be converted
  891.  
  892. C        extern pascal unsigned long convSeconds(convVerb, seconds, datePtr);
  893.          unsigned Word  convVerb;
  894.          unsigned Long  seconds;
  895.          Pointer        datePtr;
  896.  
  897. convVerb      The type and direction for the conversion.  Valid verbs are:
  898.  
  899.               0    from seconds to the Miscellaneous Tools ReadTimeHex
  900.                    format
  901.               1    from the Miscellaneous Tools ReadTimeHex format to
  902.                    seconds
  903.               2    from seconds to ASCII text (ReadTimeASCII format)
  904.               3    not implemented
  905.               4    from seconds to ProDOS date/time format
  906.               5    from ProDOS date/time format to seconds
  907.               6    return the current time in seconds
  908.               7    set the current time from seconds
  909.               8    from the Miscellaneous Tools ReadTimeHex format to
  910.                    ProDOS date/time format
  911.               9    from ProDOS date/time format to the Miscellaneous Tools
  912.                    ReadTimeHex format
  913.               10   from seconds to HyperCard IIgs format
  914.               11   from HyperCard IIgs format to seconds
  915.  
  916.               HyperCard IIgs format is the same as the Miscellaneous Tools
  917.               ReadTimeHex format except that the bytes for the month and the
  918.               day are one-based instead of zero-based.
  919.  
  920. seconds       The input number of seconds since January 1, 1904 for all
  921.               conversions that convert from a number of seconds to a
  922.               different format, as well as for setting the current time.
  923.               Conversions to a number of seconds since January 1, 1904
  924.               ignore this parameter, although it must be present.
  925.  
  926. datePtr       Pointer to a buffer for all input and output values that are not
  927.               a number of seconds since January 1, 1904.  Conversions from a
  928.               number of seconds will place the results in the buffer pointed
  929.               to by datePtr; conversions to a number of seconds will get the
  930.               source from a record pointed to by datePtr.  When converting
  931.               between two formats that are not seconds, the input pointed to
  932.               by datePtr will be overwritten by the output.
  933.  
  934. WARNING:      The buffer pointed to by datePtr must always be at least 8
  935.               bytes long and must be at least 40 bytes long when converting to
  936.               ASCII format.  ConvSeconds will overwrite the first eight bytes
  937.               of the buffer pointed to by datePtr even if the input is less
  938.               than eight bytes long.
  939.  
  940. secondsOut    The output number of seconds since January 1, 1904 for all
  941.               conversions that convert from any other format to a number of
  942.               seconds.  Conversions from a number of seconds since January 1,
  943.               1904 do not use this result space, although it must be present.
  944.  
  945. NOTE:         In System Software version 5.0.4, ConvSeconds can return with
  946.               the carry set and zero in the accumulator when no error
  947.               occurred.  Also, an invalid convVerb value of 12 does not return
  948.               an error as it should.
  949.